The present invention relates to a method and a device for controlling the tool feed of a numerically controlled machine tool, a robot or the like, with the feeding speed being specified for each control block.
In conventional numerical controls, for example, as used in machine tools, a feeding speed value that is constant over the block is programmed for each subprogram block. Such a constant feeding speed, however, is only useful if it is characteristic for the machining conditions or if the machining conditions are constant over the block.
A constant feeding speed is not useful, for example, if the subprogram directly defines a machine axis motion of a non-Cartesian machine. The feeding speed is not representative of the cutting conditions at the tool in such a case. If these cutting conditions are kept constant, which is advantageous, the predefined feeding speed must be changed.
A constant feeding speed is also disadvantageous, for example, if the cutting conditions at the tool change due to a varying contour curvature and thus to a varying work area of a milling machine, for example (e.g. spirals via circular volutes).
Therefore, feeding speed profiles are traditionally generated by subdividing a subprogram into a number of short blocks and defining a constant feed speed for each of these control blocks. The feeding speed profile thus predefined is traditionally a stepped feed profile, as shown in FIG. 2, where tool path B is represented by the abscissa, which is subdivided into a number of control blocks (represented in the form of vertical broken lines). Feeding speed F is plotted on the ordinate.
In order to make such a rigid stepped tool feeding speed profile more flexible, it has been suggested that a programmable feeding speed override profile be defined (see, in particular the method proposed by FANUC under the name FS15/MA involute interpolation). The conventional option of influencing speed by feeding speed override values is based on the fact that feeding speed override makes it possible to vary the programmed absolute feeding speed proportionally in the range of 0 to 200%, for example, in order to take changed technological conditions into account, for example, as a workpiece is being machined. In the conventional method, override interpolation points are defined along the length of the path and linear interpolation of the override value is performed between the override interpolation points.
In conventional system, the predefined stepped feeding speed profile is rounded according to the parametrization of the speed control and the dynamics of the servos and drives used. In addition to the disadvantage of a large number of subprogram blocks and thus unmanageably large subprograms, the paradoxical result of modern dynamic drives resulting in deteriorated quality is obtained.
Adaptation of the feeding speed via an override value also results in a time and, therefore, space lag of this adaptation due to the smoothing of the speed control. Therefore, the specifications (e.g., maximum possible contour accuracy) are considerably more difficult to meet.
An object of the present invention is to provide a method and a corresponding device for controlling the feeding speed that allows maximum flexibility regarding tool feeding speed control and ensures that speed constraints are complied with regardless of machine dynamics, thus overcoming the disadvantage of a large number of subprogram blocks being necessary and guaranteeing optimum path accuracy.
According to the present invention, this object is achieved using a method for controlling the feeding speed of a numerically controlled machine tool, a robot, or the like, in which the feeding speed is specified over each control block, by the fact that a feeding speed profile is directly programmable, and in the event of an admissible axis dynamic being exceeded by the predefined feeding speed profile, feeding speed minimum values are used in advance across the control blocks.
In a first advantageous embodiment of the method according to the present invention, the feeding speed profile is defined as a linear tool speed profile.
In another advantageous embodiment of the method according to the present invention, the feeding speed profile is defined as a polynomial feeding speed profile over a control block or a sequence of control blocks.
In another advantageous embodiment of the method according to the present invention, the feeding speed profile is defined as a feeding speed spline over a sequence of control blocks.
The aforementioned advantageous refinements of the object of the present invention allow the feeding speed to be defined in a more accurate manner in that it can be extended by linear and cubic curves. Cubic curves can be programmed directly or as interpolating or approximating splines. This allows continuous and smooth feeding speed curves to be programmed, depending on the curvature. Such speed curves allow smooth changes in acceleration and thus, for example, the manufacture of more even workpiece surfaces.
In another advantageous embodiment of the method with the feeding speed being predefined as a feeding speed spline or feeding speed polynomial, feeding speed setpoint values are defined as interpolation points of the feeding speed spline or feeding speed polynomial, which are connected to one another via an interpolating spline or an interpolating polynomial.
In another advantageous embodiment according to the present invention, the definition of the feeding speed as a polynomial feed profile is refined via a sequence of control blocks or as a feed spline so that the feeding speed setpoint values are defined as interpolation points at the control block transitions via a predictor algorithm, between which points an approximating spline or an approximating polynomial of the feeding speed is defined.
In another advantageous embodiment of the method according to the present invention, it is also achieved that the speed constraints are observed even during the beginning of the feeding speed profile regardless of the machine dynamics. This is achieved in that the feeding speed profile is started taking into account the admissible axis dynamics with smoothing of the tool speed control.
In another advantageous embodiment of the method according to the present invention, it is also achieved that axis overload after a stop or a sudden change in the feeding speed profile can be avoided. This is accomplished by the fact that in the event of a sudden change in the feeding speed and/or in the event of changes in a feeding speed override value, feeding speed control smoothing can be activated.
In another advantageous embodiment of the method according to the present invention, minimum error is achieved in the feeding speed profile method in that a feeding speed started is run with compensated or disabled smoothing of the speed profile.
In order to implement the method according to the present invention and the advantages associated therewith in order to achieve the object stated above in a particularly effective manner, a device is proposed for controlling the feeding speed of a numerically controlled machine tool, a robot, or the like, having a feeding speed that can be defined over each control block. The device which is characterized by the fact that a feeding speed can be directly programmed, and in the event of an admissible axis dynamic being exceeded by the predefined feeding speed profile, feeding speed minimum values can be used in advance across the control blocks.